package orm.rzdata.utils;


import orm.rzdata.annotation.WHBean;
import orm.rzdata.annotation.WHField;

import java.lang.reflect.Field;

/**
 * @author com.ymy.hadoop
 * @date 2018/12/16 12:24
 */
public class Tools {

    // 根据字段获取get/set
    public static String getMethod(Field field,String type){
        String fieldName = field.getName();
        // Id、Name、Age
        String name = fieldName.substring(0,1).toUpperCase() + fieldName.substring(1);
        return type + name;
    }

    // 获取数据表的列名
    public static String getColumn(Field field){
        String column = "";
        WHField whField = field.getAnnotation(WHField.class);
        // 该属性上方有WHField注解，使用注解里面的value作为列名
        if (whField != null){
            column = whField.value();
        // 该属性上方没有WHField注解，使用属性名作为列名
        }else {
            column = field.getName();
        }
        return column;
    }

    // 获取表名
    public static String getTable(Class<?> clazz){
        String table = "";
        WHBean whBean = clazz.getAnnotation(WHBean.class);
        // 该类上方有WHBean注解，使用注解里面的value作为表名
        if (whBean != null){
            table = whBean.value();
        // 该类上方没有WHBean注解，使用类名作为表名
        }else {
            table = clazz.getSimpleName().toLowerCase();
        }
        return table;
    }
}
